package cn.iocoder.yudao.module.erp.controller.admin.finance.bankstatementitem.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.constraints.NotEmpty;
import java.util.List;

@Schema(description = "管理后台 - 银行流水明细新增/修改 Request VO")
@Data
public class BankStatementItemSaveReqVO {

    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1669")
    private Long id;

    @Schema(description = "卡号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5553")
    @NotEmpty(message = "卡号不能为空")
    private String cardId;

    @Schema(description = "记录日期")
    private String recordDate;

    @Schema(description = "部门")
    private String department;

    @Schema(description = "费用项目")
    private String expenseItem;

    @Schema(description = "模板 0普通 异形从1自增")
    private Integer category;

    @Schema(description = "供应商")
    private String supplier;

    @Schema(description = "车队名称")
    private String fleet;

    @Schema(description = "摘要")
    private String remark;

    @Schema(description = "收入金额")
    private Double incomeAmount;

    @Schema(description = "支出金额")
    private Double payAmount;

    @Schema(description = "收入金额")
    private Double hsIncomeAmount;

    @Schema(description = "支出金额")
    private Double hsPayAmount;

    @Schema(description = "余额")
    private Double balance;

    @Schema(description = "发货人")
    private String shipper;

    @Schema(description = "下账金额")
    private Double depositAmount;

    @Schema(description = "垫付金额")
    private Double advanceAmount;

    @Schema(description = "备注")
    private String note;

    @Schema(description = "货号")
    private String no;

    @Schema(description = "核销金额")
    private Double writeExpenses;

    @Schema(description = "客户返点")
    private Double customerRebate;

    @Schema(description = "已返点")
    private Double isPoint;

    @Schema(description = "已核销")
    private Double isWriteOff;

    @Schema(description = "0出库显示(不包含311) 1全部显示(包含311)")
    private Integer isShow;

    @Schema(description = "币种 1人民币 2美元 3坚戈")
    private Integer currencyType;

    @Schema(description = "银行流水分配的金额列表")
    private List<AllotAmountVO> allotAmountList;
}